#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <windows.h>

#define ERR_INF 1e-6 

//C Function pointers
typedef double (*FUNC)(double,double *);
typedef double (**pFUNC)(double,double *);
//Function points (t,x1,...,xn)
typedef struct{
	double t;
	double *x;
}FPOINT,*pPOINT;
//Function solution
typedef struct{
	int n;
	int PointCount;
	pPOINT Curve;	//Solved points as an array
}SOLUTION;
//Solving parameters
typedef struct{
	double a;	//Solving interval: [a,b]
	double b;
	double *x0;	//Initial value at a
	double h;	//Step length
	double eps;	//Relative error
	int n;		//Number of unknown variables
}SOLV_PARAM;

void ArrayCopy(double *,double *,int);
void Output(SOLUTION);
